oauth2-proxy と Basic 認証を併用する
追記
oauth2-proxyにhtpasswd読み取り機能がついた
リバースプロキシ機能で十分かも
auth_requestを用いる場合は mpv系列のプレイヤーでBasic認証が突破できなくなった#5fdb0e46ae0f140000a04be9 のarg_basic周辺を無視するとリバースプロキシ不要
ユースケース
oauth2-proxyによるログインが行えないソフトウェアからのアクセスのために https://user:pass@hostname でもアクセスできるようにしたい
OAuthでログインしたあとに手に入る情報にn日m回ローテートされるuser:passがあるイメージ
方法
satisfy any;
code:user.conf
location /oauth2/ {
proxy_pass http://127.0.0.1:4180;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Auth-Request-Redirect $request_uri;
}
location = /oauth2/auth {
proxy_pass http://127.0.0.1:4180;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header Content-Length "";
proxy_pass_request_body off;
}
location /user {
satisfy any;
auth_basic "Auth";
auth_basic_user_file "/etc/nginx/htpasswd";
auth_request /oauth2/auth;
error_page 401 = /oauth2/sign_in;
}
基本となる設定部分はここからパクってきました
#blog #nginx #oauth